<?php
// +----------------------------------------------------------------------
// | 麦沃德科技赋能开发者，助力中小企业发展
// +----------------------------------------------------------------------
// | Copyright (c) 2017～2024  www.wdadmin.cn    All rights reserved.
// +----------------------------------------------------------------------
// | Wdadmin系统产品软件并不是自由软件，不加密，并不代表开源，未经许可不可自由转售和商用
// +----------------------------------------------------------------------
// | Author: MY WORLD Team <bd@maiwd.cn>   www.wdadmin.cn
// +----------------------------------------------------------------------

/**
 * Class Bank
 * Desc  银行卡校验
 * Create on 2024/10/26 9:45
 * Create by wangyafang
 */
namespace app\api\validate\wddj\trailer;

use think\Validate;

class Bank extends Validate
{
    /**
     * 验证规则
     */
    protected $rule = [
        'name'            => 'require',
        'bank_name'       => 'require',
        'bank_card_number'=> 'require|checkBankCard',  // 银行卡号验证
    ];

    /**
     * 提示消息
     */
    protected $message = [
        'name.require'              => '请输入姓名',
        'bank_name.require'         => '请输入银行名称',
        'bank_card_number.require'  => '请输入银行卡号',
        'bank_card_number.checkBankCard' => '银行卡号格式不正确', // 规则名修改为正确的 'bank_card_number.checkBankCard'
    ];

    // 自定义验证方法
    protected function checkBankCard($value, $rule, $data = [])
    {
        // 正则：16-19位的数字
        $pattern = '/^\d{16,19}$/';

        if (!preg_match($pattern, $value)) {
            return false;
        }

        return true;
    }
}
